// 引入插件
import request from '@/common/request/request.js'
//vuex
import store from '../store/index.js'

// 全局配置
request.setConfig({
	// 'http://relaxed.cn.vc:9903/' , 'http://8.142.81.224:8081/', 'https://rapi.relaverse.cn/'
	baseUrl: process.env.NODE_ENV === 'development' ? 'https://rapi.relaverse.cn/' : 'https://rapi.relaverse.cn/',
	// baseUrl: process.env.NODE_ENV === 'development' ? 'http://relaxed.cn.vc:9903/' : 'http://relaxed.cn.vc:9903/',
	// baseUrl: process.env.NODE_ENV === 'development' ? 'http://relaxed.cn.vc:8081/' : 'https://rapi.relaverse.cn/',
	// baseUrl: process.env.NODE_ENV === 'development' ? 'http://relaxed.cn.vc:8081/' : 'http://relaxed.cn.vc:8081/',
	dataType: 'json', // 可删除，默认为json
	responseType: 'text', // 可删除，默认为text
	// 设置请求头，支持所有请求头设置，也可不设置，去掉header就行
	header: {
		// 'token': 'token from global',
		// 'content-type': 'application/json'
	}
})

// 设置请求拦截器
request.interceptors.request(config => {

	// 配置参数和全局配置相同，此优先级最高，会覆盖在其他地方的相同配置参数
	// 追加请求头，推荐
	// config.header['content-type'] = 'application/json';
	// config.header.Authorization = 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjciLCJpc3MiOiI3In0.KCNYCm7LbPyn8v4NNigM8Xnjz9TExM4RKcnnhDDUrig';
	// config.header.Authorization = 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEzIiwiaXNzIjoiMTMifQ.LvOKoOqZVF2n12IpRbLbyTSCPrOqeZgbGh-EA5frLkc';
	// || 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjgyMzI1NCIsImlzcyI6IjgyMzI1NCJ9.a10OjmYZhiIktY83qez6K3zMoZ4lYdGypQLBHd7blBk';
	config.header.Authorization = store.state.userToken || config.token
	// 覆盖请求头
	// config.header = {
	// 'content-type': 'application/json',
	// 'token': 'token from interceptors'
	// }

	// return false; // 终止请求
	// return Promise.reject('error from request interceptors'); // 向外层抛出错误，用catch捕获

	return config; // 返回修改后的配置，如未修改也需添加这行
})

// 设置响应拦截器
request.interceptors.response(res => {
	// console.log('response', res);

	// 接收请求，执行响应操作
	// 您的逻辑......
	//判断code是不是200 系列
	if (res.statusCode < 200 || res.statusCode >= 300) {
		uni.showToast({
			title: '当前访问人数较多，请稍后再试',
			icon: 'none'
		})
		return Promise.reject({
			message: '当前访问人数较多，请稍后再试'
		}) // 向外层抛出错误，用catch捕获
	} else {
		//token 过期
		if(res.data.code === 10010 || res.data.code === 10020){
			store.commit('deleteUserInfo')
			uni.showToast({
				title: '登录失效，请重新登录',
				icon: 'none',
			})
			setTimeout(() =>{
				uni.reLaunch({
					url: '/pages/user/login'
				});
			}, 2000);
		}else{
			return  res.data.code === 200 ? res.data : Promise.reject(res.data)
		}
	}
	// return false;    // 阻止返回,页面不会接收返回值
	// return {message: '自定义值，来自拦截器'};   // 返回您自定义的值，将覆盖原始返回值
	// return Promise.reject('error from response interceptors') // 向外层抛出错误，用catch捕获
	// return res; // 原样返回
})
export default request;
